Backdrop

프로그래머스 ▸ 코딩테스트 입문

외계행성의 나이
0

문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.

제한사항

  • age는 자연수입니다.
  • age ≤ 1,000
  • PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.

입출력 예

ageresult
23"cd"
51"fb"
100"baa"

입출력 예 설명

입출력 예 #1

  • age가 23이므로 "cd"를 return합니다.

입출력 예 #2

  • age가 51이므로 "fb"를 return합니다.

입출력 예 #3

  • age가 100이므로 "baa"를 return합니다.

풀이

먼저 각각의 숫자가 담긴 배열을 만들어요.

[...age.toString()];

그리고 이 배열을 순회하면서 알파벳으로 변환해요.

[...age.toString()].map(n => 'abcdefghij'[n]);

문자열도 배열처럼 인덱스로 접근할 수 있어요. 그래서 각각의 숫자를 알파벳으로 변환할 수 있어요.

n이 문자열이지만 문자열을 인덱스로 접근하면 자동으로 숫자로 변환해요.

'abcdefghij'[0]; // 'a'
'abcdefghij'['0']; // 'a'

마지막으로 이 배열을 문자열로 만들어요.

[...age.toString()].map(n => 'abcdefghij'[n]).join('');

코드

function solution(age) {
  return [...age.toString()].map(n => 'abcdefghij'[n]).join('');
}